Key telephone system without common control

ABSTRACT

A multi-line key telephone system not having a key service unit includes three analog telephone lines to which up to eight, three-line telephones may be connected to provide enhanced service features with cost-effectiveness. System reliability is maintained, notwithstanding the power dependency of the telephones, by including POTS telephones to provide uninterrupted essential telephone service in the event of a power outage. Both data and voice communications between two or more of the three-line telephones is achieved by converting an input digital bit stream from either a digital or analog source into a corresponding out-of-band binary FSK radio frequency output signal that is transceivingly communicated between the three-line telephones as data packets within a TDM frame. The out-of-band signal thus permits analog voice communications on the same line to proceed without interference. A telephone initiating a communications session acts as a master station, establishing inter-station communications synchronous at the frame level and asynchronous at the packet level. The called telephone functions as a slave station in a second time slot synchronized to a first time slot in the TDM frame received from the master. Temporary storage of data in firmware buffers and controlled timing at both the master and slave permits these stations to function within their respective TDM frame time slots.

This application is a continuation of application Ser. No. 08/579,967filed Dec. 28, 1995, now U.S. Pat. No. 5,787,115.

FIELD OF THE INVENTION

The present invention relates to a multi-line key telephone system andto its method of operation which includes shared intercom and normalcall functions over a two-wire transmission path.

BACKGROUND OF THE INVENTION

Multiple line telephone services in a modest subscriber installation maysimply include separate lines to which individual telephones andcorresponding extensions are connected. A more sophisticated system witha greater number of telephone lines and corresponding telephone stationsrequires multi-line telephones known as "key phones". Each telephone inthe system is connected by a cable to a central control box referred toas a "key service unit" (KSU).

A principal advantage of a key telephone system is that it obviates theneed for a PBX system and attendant switchboard operators. A problemwith the key telephone system, however, is the required cable to the KSUwhich, if large, complicates an installation and creates difficultservice problems should breaks develop in one or more conductors of thecable. In an attempt to resolve this difficulty, current technology hasadvanced to smaller cables with an ultimate goal of conducting multipletelephone transactions over a single pair of wires without interferencebetween stations.

Small businesses and particularly home offices are naturally inclined toseek an advantageous appearance of a large organization through theirtelephone system while avoiding major capital investments or servicecosts. Telephone systems not having a need for a KSU make this objectivereadily achievable by providing subscribers with accessible system-typefeatures that significantly enhance customer service and businessefficiency with cost-effectiveness. But reliability problems experiencedwith known KSU-less telephone systems occur when the telephones of thesystem are power-dependent. A power interruption will therefore shutdown the system in whole or at least in part to lessen the overallbenefits otherwise achieved.

Intercom calling is a prominent feature of KSU-less systems but mayrequire a dedicated wire pair for communication. Multiplexing may alsobe used for intercom services but is often restricted to only one of themultiple lines interconnecting the telephones of the system. Sinceintercom conversations are carried on one line, usually the first line,all of the telephones will require, and be restricted to, the same firstline for intercom communications. Although independent intercom groupsmay be set up by assigning different first lines to different telephonesin the system, the problem then is to provide intercom access betweengroups.

SUMMARY OF THE INVENTION

Having regard to the aforedescribed problems relating to the operationof a KSU-less key telephone system, together with the recited problemsassociated with intercom implementation, one provision of the presentinvention is apparatus and a method utilizing such apparatus thatprovides improved system performance and substantially eliminates theproblems associated with intercom usage.

Another provision of the invention is a three-line analog telephonesystem which is a cost-effective alternative to more expensive keysystems.

A further provision of the invention is the inclusion of analogtelephone lines to which plain old telephone service (POTS) telephonesmay be connected to provide reliable and continuing telephone service inthe event of a power failure.

Yet another provision of the invention is a telephone key system withouta KSU that facilitates use and development of the system by providing asimple "plug and play" feature which permits expansion by plugging in upto eight, three-line telephones. Alternatively, just plugging in anoptional system feature adaptor (SFA) provides cost-effective,centralized delivery of system features such as music on hold andpaging.

Still another provision of the invention is a KSU-less telephone keysystem having a wide range of advanced features including messaging,directed call transfer, call detail recording (CDR), call logs, rediallists and call timers for processing incoming and outgoing calls moreefficiently.

The problems associated with the prior art may be substantially overcomeand the foregoing provisions achieved by recourse to the inventionwhich, in one aspect thereof, relates to apparatus for reversiblyconverting an input digital bit stream into a corresponding binary FSKradio frequency output signal. The apparatus comprises, in combination,a first phase-locked loop circuit including a voltage controlledoscillator having a control terminal, an output terminal and an inputterminal to which a source of digital data is connected. Control meansare connected to the control terminal for selectively enabling the firstphase-locked loop circuit in response to predetermined control signalsinput to the control means from associated timing circuit means togenerate an FSK signal at the output terminal corresponding to an inputbit stream of digital data. Coupling means connect the modem to atransmission medium for bidirectional communication of binary FSK radiofrequency signals and a second phase-locked loop circuit is configuredas an FSK demodulator having an input terminal to which received FSKsignals are coupled from the medium and an output terminal at which thedemodulated signals comprise a corresponding bit stream of digital data.

Another aspect of the invention relates to a UART in a telephone stationconnected via a modem to a two-wire telephone line, the UARTcommunicating with the modem, a microprocessor and a digital signalprocessor for effecting voice and data transfers and communicating timedivision multiplex protocol control to a like telephone station on thesame line. The UART comprises in combination, synchronization meansincluding adjustable master clock means for defining the respectivepositions of individual ones of a plurality of voice and data packetswithin a TDM frame having a predetermined data bit structure. Receivermeans are connected to the modem for acquiring a first valid packetheader and start bit and issuing a sync pulse to the synchronizationmeans to adjust the master clock means to conform to the timing of a newcommunications session. A receive data register is coupled to a firstoutput of the receiver means for temporarily storing data packetsindexed to a first position within a frame by the synchronization meansand a receive voice buffer is connected between a second output of thereceiver means and the input of a digital signal processor foraccumulating and temporarily storing voice packets indexed to a secondposition within the TDM frame by the synchronization means.

Still another aspect of the invention relates to a method forselectively effecting data and voice packet transfers and communicatingtime division multiplex protocol control between at least two telephonestations connected across a two-wire telephone line. The methodcomprises the steps of, establishing one station as a communicationssession master by seizing the line preparatory to calling one of theother stations, transmitting an out-of-band data signal including a datapacket having a valid header and start bit from the master station toacquire inter-station synchronization at a TDM frame level with a calledslave station, generating a synchronizing pulse in response to receivingthe valid header and start bit at a receiver of the slave station andadjusting a master time clock in the slave station to conform to thetiming of the master station by defining the respective positions ofsubsequently received voice and data packets within a received TDM framehaving a predetermined data bit structure.

A further aspect of the invention relates to a method for establishingfull-duplex intercom communications with signaling between at least twotelephone stations connected across a two-wire transmission linecarrying an analog voiceband call. The method comprises the steps of,transmitting an out-of-band data signal from a calling station during afirst time slot of a TDM frame to establish master station prioritypreparatory to initiating an intercom session, signaling a calledstation to establish its status as a slave station assigned to a secondtime slot of the TDM frame synchronized to the first time slot of themaster station to effect inter-station frame synchronization, generatingand buffering digitized voice data at the stations in each direction fortransmit and receive to accommodate inter-station communicationsynchronous at the frame level and asynchronous at the packet level,enabling a data transmit mode in the slave station to seize the line,packetize the digitized voice data and transmit an out-of-band datapacket to the master station during the second time slot of the TDMframe in response to the master station call and receiving the datapacket at the master station during the first time slot of the TDMframe.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be more particularly described with reference toembodiments thereof shown, by way of example, in the accompanyingdrawings in which:

FIG. 1 is a diagram of a key telephone system without a KSU inaccordance with the invention;

FIG. 2 is a block diagram of a three-line telephone station withintercom that is used in the system of FIG. 1;

FIG. 3 is a block diagram illustrating a voice data flow path betweentwo telephone stations in the system of FIG. 1;

FIGS. 4a and 4b illustrate a typical transmission frame for afull-duplex, time division multiplexed intercom call in accordance withthe invention;

FIG. 4c illustrates the contents of a signaling channel in thetransmission frame of FIGS. 4a and 4b;

FIG. 4d illustrates the contents of a voice channel in the transmissionframe of FIGS. 4a and 4b;

FIG. 5 is a block diagram of a modem used in each telephone station inthe system of FIG. 1; and

FIG. 6 is a block diagram of a UART used in each telephone station inthe system of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments of the invention hereinbelow disclosed rely on blockdiagrams to describe certain apparatus and various circuit elementstogether with their respective functions. Similarly, software controlfunctions are described in detail in program listings which have beenincluded to disclose the precise manner of digital computer programmingand to provide all necessary control and timing for full-duplex intercomabove the voiceband in a two-wire KSU-less key telephone system using aFSK modem.

The aforenoted diagrams and the program listings represent certainhardware and software features that would be known to those skilled inthe art to whom this specification is addressed, although not in thenovel combinations disclosed. Accordingly, the following constitutes asufficient and adequate description to such individuals for acomprehensive understanding of the best mode to give effect to theembodiments as disclosed and claimed herein.

A KSU-less key telephone system 10 is diagrammatically represented inFIG. 1 which includes three telephone lines 11, 12, 13 to which areconnected three, three-line telephone stations 14 that include intercomwith signaling. It will be understood that the telephone lines are ofthe analog type and, as shown, communicate with the stations 14.

The stations 14 provide a wide range of advanced system features whichinclude messaging and directed call transfers that are desirable sincefeatures of this type provide small businesses with a more business-likeappearance. Call management capabilities are also included in thestations 14 and include call detail recording (CDR), call logs, rediallists and call timers, all of which enhance the more business-likeappearance of the system 10.

Typical of multifeatured telephones, a separate source of operatingpower is required and may be provided either from an internal batteryor, from an external power source comprising a power supply adaptor, notshown, that is known in the art and which is normally plugged into an ACpower outlet at a subscriber's location. In the event of a powerfailure, the system 10 continues to function via single-line POTStelephone sets 15 of which two are shown connected to lines 12 and 13.Since the sets 15 do not require a power source for operation, systemreliability is maintained should a power outage occur.

Forming part of the system 10, a system feature adapter (SFA) 16provides cost-effective centralized delivery of system features, such asmusic on hold and paging. Although not illustrated, it will beunderstood that a telephone answering device may also be connected tothe system in view of the analog connections which are available forPOTS telephones, fax lines, modems and three-line cordless telephones.The latter is illustrated in FIG. 1 as comprising a base station 17connected to the lines 11-13, and which communicates with its handset 18via a radio link.

A detailed block diagram of a station 14 is illustrated in FIG. 2wherein it will be observed that the station is connected to the lines11-13 through coupling circuits 20, 21 and 22. It will also be notedthat the circuits 20-22 are interconnected by three 3-conductor cables23, 24, 25 which terminate at three corresponding input ports of amicroprocessor 26 that sense the status of any station 14 hookswitch, aswell as the presence of tip/ring voltage and ringing signals.

Out-of-band signals input to the station 14 are taken from the line 11which is connected to a first I/O port of an out-of-band modem 27. Asecond I/O port of the modem 27 is coupled to an I/O port of anapplication specific integrated chip (ASIC) 28 which functions toseparate the modem output into digital signaling data and digitizedvoice signals. A digital signaling data output from the ASIC 28 is shownconnected to a data bus 30 whereas an incoming call digitized voicesignal is connected to an I/O port of a second ASIC that is configuredas a universal asynchronous receiver transmitter (UART) 31.

Operating codes for the microprocessor 26 are stored in ROM memory 32whereas a RAM memory 33 provides the necessary flash code and datastore, and various lists which include a directory list as well as acallers list. Stored data is communicated to the microprocessor 26 overthe bus 30 while address data is communicated along an address bus 34.

The station 14 is adapted to provide a handsfree mode of operation andtherefore includes a handsfree speaker 35, a handsfree microphone 36 anda handset 37, each of which are connected to a third ASIC 38 whichincludes a dual-tone multifrequency (DTMF) generator and secondary losscontrol means, as well as a speaker power amplifier and a microphonepreamplifier. Control of the ASIC 38 is performed by the microprocessor26 with control signals being coupled therefrom to the ASIC along aserial control bus 39.

A codec 45 is illustrated with three I/O ports 46, 47 and 48 that areconnected to corresponding coupling circuits 20, 21 and 22,respectively. An output 49 of the codec is connected to the UART 31where it is subjected to path control in response to control signalsfrom an output 50 of the microprocessor 26. An I/O port 60 of the UART31 communicates with a digital signal processor (DSP) 51 which iscontrolled by the microprocessor 26 over a command serial interface 52.Output signals from an I/O port 61 of the DSP 51 are selectivelyconnected by a switch 53 to an I/O port 54 of the ASIC 38 and therefromto the speaker 35, microphone 36 or handset 37 as the case may be. Itwill be understood that the switch 53 also functions to connect the I/Oport 54 to the coupling circuit 20 as illustrated.

Data from a key matrix 55 may be keyed into the microprocessor 26 over abus 56. Conversely, an external data bus 57 couples data from the bus 30to a liquid crystal display (LCD) 58.

Timing for the various functions required in the operation of thestation 14 under control of the microprocessor 26 is performed by aclock 59 of the latter.

FIG. 3 illustrates a voice data flow path showing firmware buffers 65and 66 that form part of the microprocessor 26. The flow path is betweentwo stations 14, and since each station 14 is identical in circuitstructure, it will be understood that the description presentedhereinbelow applies equally to both stations. Moreover, having regard toFIG. 2 and its corresponding description, signal capture hardware neednot be further described and is therefore conveniently represented inFIG. 3 as a block 67. To facilitate understanding, the numericaldesignations of the second station are shown with primes.

One feature of the system 10 is a full-duplex intercom mode withsignaling capability using time division multiplexing (TDM), a customhigh-speed frequency shift keying (FSK) modem and custom controlfirmware, the source code of which will be subsequently described ingreater detail. The aforenoted system elements function in combinationto provide four high quality voice channels in a TDM frame, togetherwith one medium-speed data/signaling channel above the voiceband on acommon two-wire twisted pair telephone line. The high quality intercomresults from a high data transfer rate, four channels at 64Kbps/channel, which is possible when using a carrier frequency ofapproximately 6 MHz. Further quality improvements are achieved by thesignaling channel having its own time slot in the TDM frame. Signalingis therefore out-of-band and does not interfere with voice intercom. Theresult is a very clear and natural sounding intercom session. Anadditional benefit of the TDM method, as will be described in greaterdetail below, is that an 8 Kbps, or better, data transfer can occur atthe same time and between the same two stations 14 while an intercomcall is in session.

The firmware 65 and 66 illustrated in the data flow path diagram of FIG.3, uses five interrupts and other support code to provide a two-channelTDM intercom over a two-wire analog telephone line. This communicationoccurs above voiceband by modulating the output of the FSK modem 27using a digital signal to represent either data or voice. The firmware65 and 66, which corresponds to the source code disclosed in an APPENDIXhereto provides necessary timing and decision making to properly controlthe modems 27, 27'.

The firmware 65, 66 uses the concept of a master and a slave. A mastercode is responsible for starting an intercom session and for recoveringfrom transmission failure, such as a telephone being unplugged, whilethe slave code is responsible for responding to the master'stransmission.

Initially, one of the stations 14 initiates an intercom session by goingoffhook and seizing one of the lines 11, 12, 13. Following theresolution of collision, such as by token passing, access to a line isdetermined in favor of the station having the token. Thus, only onestation, the one with the token, is given the opportunity to seize theline.

Any one of the stations 14 in the system 10 may be either a master orslave station depending upon which station seizes the line. Thereafter,analog voice signals output from the microphone 36 or the handset 37 arecaptured in the hardware 67 and digitized at the rate of one byte every125 microseconds or 64 Kbps, followed by buffering in the firmware 66.FIG. 3 shows a master 70 and a slave 71, both of which begin suchbuffering on start-up of the session. When the master 70 has bufferedeight bytes of voice data, which is performed in the routine "INT₋₋ 0",it attempts to send its data out of the serial port 63 as a burst ofvoice data. While the slave 71 also buffers voice data, it listens for atransmission from the master 70 and does not respond until thistransmission has been successfully received.

Before the master 70 can send its voice data, it checks to see if it hasreceived an eight byte packet from the slave 71. On start-up, the mastersupport code indicates that this packet has been received. However, inthe event that the master 70 has not received this packet, it withholdssending its current packet and artificially indicates that the packetfrom the slave 71 was received. The master 70 then sends an eight bytepacket in the next TDM frame. This procedure, called "recovery", isnecessary because of the manner in which FSK modems function.

In order to modulate and transmit the voice data, a control line 72 ofthe modem 27 must be driven low, and a settling time of at least 10microseconds must be allowed before data is applied to the input of themodem. Therefore, the firmware seizes the line, thereby driving themodem control line low in the routine "S1RXINT" just after this routinehas received and buffered eight bytes of data sent from the transmittingstation. Seizing the line at this point provides more than adequate timefor the modem 27 to settle or start-up. Without the recovery mode, amissed packet from either the master or slave would result in failedcommunications as neither would seize the line.

When neither the master 70 nor slave 71 is transmitting data, the lineis noisy and it is possible that a valid start bit could occurerroneously, causing the respective stations of the master and slave torespond at the wrong time. To avoid this possibility, the firmwareallows the stations to monitor the line only at predetermined times. Inthe case of the master 70, it monitors the line approximately 68.25microseconds after it has dispatched the last byte of an eight bytevoice data packet. A timer in the microprocessor 26 is set in theroutine "TXINT". It is assumed that the slave 71 will have received themaster's transmitted packet and seized the line, thereby providing aclean line for listening. In the case of the slave 71, it beginsmonitoring the line approximately 75 microseconds after it has sent itsvoice data packet. The assumption again is that the master 70 will haveseized the line by this time, thus acquiring a clean line having a lownoise level.

The modem 27 is turned off in the "TXINT" routine in both the master 70and the slave 71 by driving its control line 72 high after the last bitof a data stream has been shifted out. However, in the master 70, themodem 27 turnoff is delayed by 25 microseconds to maintain the integrityof the line while the slave 71 processes the last byte sent.

Required timing is performed by two timers forming part of themicroprocessor 26. These timers are referred to as timers X and Y andare interrupt driven. Interrupt service routines for these timersprovide the necessary actions of enabling the serial interrupt, forlistening to the line, and, in the case of the master 70, for turningoff the modem 27. These routines are labelled "TIMERXINT" and"TIMERYINT" in the source code.

The code for the master 70 and the slave 71 is slightly different as thetiming is different for both sides. The code is provided as anattachment with the master code labelled as "Master" and the slave codelabelled as "Slave".

As described, two voice channels are required to provide two-wayintercom. An additional voice channel is required to providenon-blocking intercom when either music on hold is in use or page isoccurring, or a simplex conversation (i.e., door phone) is in progress.When four voice channels are provided, then two simultaneous intercomcalls can occur in the system 10.

FIGS. 4a and 4b illustrate a single TDM frame 75 of 1 ms duration thatincludes three voice channels defined by their respective positions intime slots 76, 77, 78 together with a signaling channel shown in a timeslot 79. Following a synchronizing byte 81, a guard time of 65microseconds is provided before the time slot 79. The same guard time isprovided before each of the time slots 76-78.

The signaling channel in time slot 79 comprises one byte of data and onebyte for framing (FIG. 4c) which results in a signaling rate of 8 Kbps.Each voice channel has one byte for framing and eight bytes for voice(FIG. 4d). This is the data rate for a 64 Kbps simplex channel. Using aframe rate of 1 ms means that a 64 bit transmit buffer and a 64 bitreceive buffer are required for transmitting and receiving voice data.The bit rate can be reduced by increasing the frame rate, but wouldrequire larger buffers.

When the system 10 is idle, the stations 14 must determine which onewill send out the system clock pulse to which the remaining slaves willbe synchronized. Any one of the stations 14 may attempt to synchronizeto the system and, if it cannot, then the station concludes that thereare no stations transmitting. The station thus acquires access to achannel by sending out data with no clock signaling using collisiondetect, such as token passing, to arbitrate seizure of the line. Oncethe station has acquired the channel, it will become the master thereofand send out data with the system clock. At this point, data will besent only during the time slot 79 for the signaling channel. Access tothis channel is also determined by the aforenoted method of collisiondetect.

FIG. 5 is a block diagram illustrating a data over voice FSK encoder 85that forms part of the modem 27 in each station 14. The encoder 85 is anXR215 phase-locked-loop chip in which a voltage controlled oscillator,not shown, is used to convert a bit stream of digital data, applied toan input terminal 86, into binary FSK signals. The FSK signals areoutput at a terminal 87 from which they are coupled to an operationaldriver amplifier 88. The output of the amplifier 88 is connected by aswitch 89 to a line transformer 90 which couples the signals to thetelephone line 11. The switch 89 is also connected to a control terminal91 of the encoder 85 to turn the FSK transmitting signal on and off inresponse to a microprocessor control signal on the control line 72.

It will be understood that the switch 89 also functions as a directionalcontrol for outgoing and incoming FSK signals. Thus when the encoder 85is transmitting, FSK signals to a receiver amplifier 92 are blocked.Conversely, when the encoder 85 is turned off, the transformer 90couples received FSK signals from the line 11 through the switch 89 tothe receive amplifier 92 that amplifies and converts the differentialFSK signals into common mode signals referenced to the circuit ground.The converted FSK signals are then coupled to a second phase-locked-loopwhich is configured as an FSK demodulator 93. The demodulator 93converts the received FSK signals into digital data which is output at aterminal 94 leading to the voice path shown in FIGS. 2 and 3.

The aforedescribed circuit has been demonstrated to operate at carrierfrequencies ranging from 5 to 10 MHz, and data rates above 500 Kbps.Combined with speech digitizing circuitry in the station 14 andtransmission protocol software described herein, a full-duplex intercomsession was demonstrated in which packets of digitized speech weretransmitted at 320 Kbps on a 5.8 MHz carrier signal over 400 feet of atwisted pair telephone line while an analog voiceband call was inprogress on the same line.

The UART 31 performs serial asynchronous voice and data transfers aswell as communications protocol control involving time divisionmultiplexing (time slotting) of up to four speech channels plus one datachannel. As shown in FIGS. 2 and 6, the UART 31 communicates with themicroprocessor 26 over the eight bit data bus 30 and with the DSP 51through a synchronous serial interface 62.

Signaling data is transmitted in the time slot 79 which is the firsttime slot of the frame 75. A synchronization circuit 96 keeps track ofincoming packets so that data packets are received at a receiver 97 andare always routed to a receive data register 98. Voice packets, on theother hand, are always routed from the receiver 97 to a receive voicebuffer 99 and therefrom to the DSP 51. It will be understood that voicepackets may occupy any one of the channels in time slots 76-78. However,it is important to note that both data and voice packets areindistinguishable except for their relative positions within the frame75.

The synchronization circuit 96 maintains a master clock 100 whichdefines the position of voice and data packets in the frame 75. Thus,when an intercom session begins, the receiver 97 acquires the firstvalid packet header and start bit and issues a synchronizing pulse tothe circuit 96. In response, the circuit 96 adjusts the clock 100 toconform to the timing of the new session. This is necessary because thesession can be initiated by any station 14 in the system 10, and thefirst station to start a new session forces all other stations toconform to its own master time clock.

A first packet after an inactive interval is always assumed to be data.An inactive interval is defined as one or more frames 75 which do notcontain valid packet headers or a frame having zero channels or timeslots. All subsequent valid packet headers will cause the receiver 97 toissue a synchronizing pulse to adjust the clock 100 between one and fivetimes per frame, depending upon the time slot utilization. For example,if there are three time slots in use, the clock 100 at each station 14will be synchronized three times during every frame 75.

The circuit 96 also uses the clock 100 to determine when to issuetransmit enable pulses to a transmitter 101. When the data transmit modeis enabled, the transmitter will "packetize" the data by preceding itwith a header, framing the data bits with start and stop bits, and willthen transmit the packet only when the circuit 96 issues the transmitenable pulse defining the data time slot. When one of the voice channelsis enabled, the transmitter 101 will similarly packetize the bytes ofdata which have accumulated in a transmit voice buffer 102 and atransmit data register 103. Transmission of the voice packet occurs onlywhen the circuit 96 issues the transmit enable pulse defining thecorrect voice time slot. A command status register 104, data registers98, 103 and voice buffer 102 define the content of the packets andconsequent data transmission. On the other hand, the circuit 96determines when the data will be transmitted by the position of thepackets within the frame 75.

At any station 14, digitized voice is transferred synchronously betweenthe DSP 51 and UART 31 at 64 Kbps, while the UART transmits and receivesdata asynchronously at 640 Kbps to and from other stations 14 in thesystem 10. It will be understood that there is no predeterminedcorrelation between the clock 59 of the microprocessor 26 which drivesthe synchronous transfer of voice bytes between the DSP 51 and UART 31and the inter-station frame synchronization established by the clock 100since any station 14 can become a session master. As previouslydescribed, the station 14 which initiates a session forces all otherstations in the system 10 to conform to its unique framesynchronization. For this reason the digitized voice bytes are bufferedin each direction for transmit and receive. It is important to note thatinter-station communication takes place in a manner which issynchronized at the frame level but which is asynchronous at the packetlevel. This means that when a new communication session is established,the data channel time slot 79 may be disabled as soon as at least one ofthe other voice channel time slots 76-78 is enabled to maintainsynchronization.

To those skilled in the art to whom this specification is addressed, itwill be apparent that the embodiments aforedescribed may be varied tomeet particular specialized requirements without departing from the truespirit and scope of the invention disclosed. The foregoing embodimentsare therefore not to be taken as indicative of the limits of theinvention but rather as exemplary structures thereof which are describedby the claims appended hereto.

    ______________________________________                                        TIMING AND DECISION MAKING SOURCE CODE                                        ______________________________________                                        Master Code -------------------------------------                             ************************************************************                  *   S1RXINT:  serial port 1 receive interrupt                                 *                                                                             *   INPUT:    nothing                                                         *                                                                             *   RETURNS:  datum just received stored in BUFFER.sub.-- REGISTER            *                                                                             *   CHANGES:  A (acc), X, Y                                                   *                                                                             *   NOTE:                                                                     ************************************************************                  .PUB S1RXINT                                                                  S1RXINT:;                                                                     PHA               ; save register -- 3c                                       TXA               ; -- 2c                                                     PHA               ; -- 3c                                                     DEC RX COUNT      ; -- 6c                                                     BEQ LAST.sub.-- BYTE                                                                            ; -- 2c.sub.-- nb/4c.sub.-- b                               LDX BR.sub.-- HEAD                                                                              ; -- 4c                                                     LDA SIO1RXB       ; grab byte just received -- 3c                             STA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c                                                     INC BR.sub.-- HEAD                                                                              ; -- 6c                                                     PLA               ; -- 4c                                                     TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     - 57 cycles -- 22.23us 6c --->                                                LAST.sub.-- BYTE:                                                             CLB STO1RXEN, STO1CNTL                                                                          ; disable serial 1 RX -- 5c                                 CLB LED1,PORT5    ; -- 5c                                                     CLB IAR, PORT5    ; seize FSK generator -- 5c                                 LDX BR.sub.-- HEAD                                                                              ; -- 4c                                                     LDA SIO1RXB       ; grab byte just received - 3c                              STA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c                                                     INC BR.sub.-- HEAD                                                                              ; -- 6c                                                     LDA #8            ; -- 2c                                                     STA RX.sub.-- COUNT                                                                             ; -- 5c                                                     SEB RX.sub.-- PACKET,SERIAL.sub.-- FLAGS                                                           ; INDICATE THAT A                                                              PACKET HAS BEEN                                                               RECIEVED                                                PLA               ; -- 4c                                                     TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     RTI               ; -- 6c -----> 80 cycles -- 31.2us                          ************************************************************                  ;*                                                                            ;*  MODULE:   INT.sub.-- 0 interrupt service routine - by Al                  ;*            used for intercom demo                                          ;*  NOTE:                                                                     ;*  INPUT PARAMETERS: None                                                    ;*                                                                            ;*  OUTPUT PARAMETERS: None                                                   ;*                                                                            ;*  REGISTERS AFFECTED: None                                                  ;*                                                                            ;************************************************************                 PUB INT.sub.-- 0                                                              NT.sub.-- 0:                                                                  CLI               ; -- 2c                                                     PHA               ; save registers -- 3c                                      TXA               ; -- 2c                                                     PHA               ; -- 3c                                                     LDX BR.sub.-- TAIL                                                                              ; -- 4c                                                     LDA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c                                                     STA DATABUS       ; store the byte in port2 -- 5c                             CLB SHIFT.sub.-- REG,CTLBUS3                                                                    ; Latch the voice data into the                                                ASTC -- 5c                                                 SEB SHIFT.sub.-- REG,CTLBUS3                                                                    ; . . . -- 5c                                               INC BR.sub.-- TAIL                                                                              ; -- 2c                                                     LDA PORT8         ; -- 4c                                                     LDX BR2.sub.-- HEAD                                                                             ; -- 4c                                                     STA BUFFER.sub.-- REGISTER2,X                                                                   ; -- 5c                                                     INC BR2.sub.-- HEAD                                                                             ; -- 2c                                                     DEC BR2.sub.-- COUNT                                                                            ; -- 6c --------> 30c to here                               BNE INT.sub.-- 0.sub.-- EXIT                                                                    ; -- 2c.sub.-- nb/4c.sub.-- b                               BBS RX.sub.-- PACKET,SERIAL.sub.-- FLAGS,OK.sub.-- TO.sub.-- START            SEB RX.sub.-- PACKET,SERIAL FLAGS                                             LDM #8,BR2.sub.-- COUNT                                                       CLB STO1RXEN, STO1CNTL                                                                          ; disable serial 1 RX -- 5c                                 CLB LED1,PORT5    ; -- 5c                                                     CLB IAR,PORT5                                                                 BRA INT.sub.-- 0.sub.-- EXIT                                                  OK.sub.-- TO.sub.-- START:                                                    LDM #8,BR2.sub.-- COUNT                                                       LDM #8,TX.sub.-- COUNT                                                         LDX BR2.sub.-- TAIL                                                                            ; -- 4c                                                      LDA BUFFER.sub.-- REGISTER2,X                                                                  ; -- 5c                                                      STA SIO1TXB      ; -- 5c                                                      INC BR2.sub.-- TAIL                                                                            ; -- 2c                                                     ;   LDM #$F5,SIO1TXB                                                          INT.sub.-- 0.sub.-- EXIT:                                                     PLA               ; restore register -- 4c                                    TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     RTI               ; return -- 6c                                                              ;                                                                             >short=50c=19.50us                                                            ;                                                                             >long=98c=38.22us /                                           ;************************************************************                 ;                                                                             ;   TXINT -    TX INTERRUPT ROUTINE                                           ;                                                                             ;                                                                             ;   CALL WITH:                                                                ;    RETURNS:  nothing                                                        ;                                                                             ;    CHANGES:  A REGISTER (accumulator), X                                    ;                                                                             ;************************************************************                 .PUB TXINT                                                                    TXINT:                                                                        DEC TX.sub.-- COUNT                                                                             ; -- 6c                                                     BEQ SET.sub.-- TIMER                                                                            ; -- 2c.sub.-- nb/4c.sub.-- b                               PHA               ; -- 3c                                                     TXA               ; -- 2c                                                     PHA               ; -- 3c                                                     LDX BR2.sub.-- TAIL                                                                             ; -- 4c                                                     LDA BUFFER.sub.-- REGISTER2,X                                                                   ; -- 5c                                                     STA SIO1TXB       ; -- 5c                                                     INC BR2.sub.-- TAIL                                                                             ; -- 2c                                                     PLA               ; -- 4c                                                     TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     RTI               ; -- 6c                                                     SET.sub.-- TIMER:                                                             LDM #22,TIMX      ; wait 68.75us before enabling                                                 RX -- 4c                                                   LDM #00,PRESCX    ; -- 4c                                                     CLB 4,IRR1        ; -- 5c                                                     SEB 4,IRC1        ; -- 5c                                                     CLB 3,TIMXY       ; -- 5c                                                     LDM #6,TIMY       ; TURN OFF FSK GENERATOR                                                       IN 25us                                                    LDM #00,PRESCY                                                                CLB 5,IRR1                                                                    SEB 5,IRC1                                                                    CLB 7,TIMXY                                                                   CLB RX.sub.-- PACKET,SERIAL.sub.-- FLAGS                                                           ; INDICATE THAT NO                                                             PACKET HAS BEEN                                                               RECIEVED                                                RTI                                                                           ;************************************************************                 ;                                                                             ;   TIMERXINT:                                                                ;                                                                             ;   INPUT:     nothing                                                        ;                                                                             ;   RETURNS:                                                                  ;*                                                                            ;*  CHANGES:                                                                  ;*                                                                            ;*  NOTE:                                                                     ;************************************************************                 .PUB TIMERXINT                                                                TIMERXINT:                                                                    SEB 3,TIMXY    ; stop the timer --                                            CLB INT.sub.-- 1.sub.-- BIT, IRR1                                                            ; clear INT.sub.-- 1 interrupt request bit                     SEB INT.sub.-- 1.sub.-- BIT, IRC1                                                            ; enable INT.sub.-- 1 -- external receive                                      uart -- 5c                                                    SEB LED1,PORT5 ; -- 5c                                                        SEB IAR,PORT5  ; release FSK generator                                        RTI            ; -- 6c                                                        ;************************************************************                 ;*                                                                            ;*  TIMERYINT:                                                                ;*                                                                            ;*  INPUT:     nothing                                                        ;*                                                                            ;*  RETURNS:                                                                  ;*                                                                            ;*  CHANGES:                                                                  ;*                                                                            ;*  NOTE:                                                                     ;************************************************************                 .PUB TIMERYINT                                                                TIMERYINT:                                                                    BBS TURN.sub.-- OFF,SERIAL.sub.-- FLAGS,TURN.sub.-- OFF.sub.-- FSK            DEC TIM1.sub.-- COUNT                                                         BNE TIMERY.sub.-- EXIT                                                        SEB 7, TIMXY       ; disable the timer                                        SEB TURN.sub.-- OFF,SERIAL.sub.-- FLAGS                                       CLB 0, IRR1        ; clear pending INT0 interrupts                            SEB 0, IRC1        ; enable INT0 -- MASTER                                    TIMERY.sub.-- EXIT:                                                           RTI                                                                           TURN.sub.-- OFF.sub.-- FSK:                                                   SEB 7, TIMXY      ; disable the timer                                         SEB IAR, PORT5    ; release FSK generator                                     RTI                                                                           Master support code -------------------------------                                SEI                                                                      .PUB CRAPLABEL                                                                CRAPLABEL:                                                                         LDM #INPUT, PORT8DIR                                                                           ; set port8 to input                                    ;    LDM #INPUT, PORT0DIR                                                                           ; set port0 to input                                    CLB 2,PORT4DIR    ; set pin 2 of port4 to an input                            CLB 3,PORT4DIR    ; set pin 3 of port4 to an input                            SEB 6,PORT4DIR    ; set pin 6 of port4 to an output                           CLB CLEAR.sub.-- UART,PORT4                                                   LDA #0                                                                        STA IRC1          ; mask out all interrupts                                   STA IRC2          ; . . .                                                     CLB IAR,PORT5     ; seize the FSK generator                                   LDA #$88          ; setup & inhibit timers X & Y                              STA TIMXY                                                                     CLB 0, $3C        ; clear pending INT0 interrupts                             SEB 0, $3A        ; select rising edge triggered                              CLB 0, IRC1       ; DISable INT0 -- *** MASTER                                CLB 4, IRR1       ; clear pending TIMERX interrupt                            SEB 4, IRC1       ; enable TIMERX interrupt                                   SEB 3,TIMXY       ; disable TIMERX                                            JST INITTRX       ; INITIALIZE                                                                   TX-RX-SIO1 - TEMP                                          LDM #8,BR2.sub.-- COUNT                                                                         ; initialize BR2.sub.-- COUNT to 8                          CLB TURN.sub.-- OFF,SERIAL.sub.-- FLAGS                                       SEB RX.sub.-- PACKET,SERIAL.sub.-- FLAGS                                                           ; INDICATE THAT A                                                              PACKET HAS BEEN                                                               RECIEVED                                                LDA #25           ; 5 second startup delay                                    STA TIM1.sub.-- COUNT                                                         LDM #$FF,TIMY                                                                 LDM #$FF,PRESCY                                                               CLB 5,IRR1                                                                    SEB 5,IRC1                                                                    CLB 7,TIMXY                                                                   ************************************************************                  *** END INTERCOM DEMO STUFF *** ---                                           ************************************************************                  CLI                                                                           Slave Code --------------------------------------                             ************************************************************                  *                                                                             *   S1RXINT:   serial port 1 receive interrupt --                                            SLAVE PACKET SEND                                              *                                                                             *   INPUT:     nothing                                                        *                                                                             *   RETURNS:   datum just received stored in SIO1BUF                          *                                                                             *   CHANGES:   A (acc), X, Y                                                  *                                                                             *   NOTE:                                                                     ************************************************************                  .PUB S1RXINT                                                                  S1RXINT:;                                                                     PHA               ; save register -- 3c                                       TXA               ; save X                                                    PHA                                                                           DEC RX.sub.-- COUNT                                                           BEQ LAST.sub.-- BYTE                                                          LDX BR.sub.-- HEAD                                                                              ; point to next storage location                            LDA SIO1RXB       ; grab byte just received -- 3c                             STA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c store the byte                                      INC BR.sub.-- HEAD                                                            PLA               ; restore X                                                 TAX                                                                           PLA               ; -- 4c restore ACC                                         RTI               ; -- 6c                                                     .PUB LAST.sub.-- BYTE                                                         LAST.sub.-- BYTE:                                                             CLB SIO1RXEN, SIO1CNTL                                                                          ; disable serial 1 RX -- 5c                                 CLB LED1,PORT5    ; -- 5c                                                     CLB IAR, PORT 5   ; seize FSK generator                                       LDX BR.sub.-- HEAD                                                                              ; point to next storage location                            LDA SIO1RXB       ; grab byte just received -- 3c                             STA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c store the byte                                      INC BR.sub.-- HEAD                                                            LDA #8                                                                        STA RX.sub.-- COUNT                                                           STA TX.sub.-- COUNT                                                            CLB GOT.sub.-- START,SERIAL.sub.-- FLAGS                                     LDM #30, PRESCX   ; set TimerX to begin TX'ing in                                                93.75us                                                    LDM #00, TIMX     ;                                                           CLB 4,IRR1        ; clear pending interrupts                                  SEB 4,IRC1        ; enable TimerX interrupt                                   CLB 3,TIMXY       ; start TimerX                                              PLA               ; restore X                                                 TAX                                                                           PLA                                                                           RTI                                                                           ;************************************************************                 ;*                                                                            ;*  MODULE:   INT.sub.-- 0 interrupt service routine - by A1 -- SLAVE         ;*            PACKET SEND used for intercom.demo                              ;*  NOTE:                                                                     ;*  INPUT PARAMETERS:                                                                             None                                                      ;*                                                                            ;*  OUTPUT PARAMETERS:                                                                            None                                                      ;*                                                                            ;*  REGISTERS AFFECTED:                                                                           None                                                      ;*                                                                            ;************************************************************                 .PUB INT 0                                                                    INT.sub.-- 0;                                                                 CLI               ; allow other interrupts to barge in                        PHA               ; save register -- 3c                                       TXA               ; -- 2c                                                     PHA               ; -- 3c                                                     LDX BR TAIL       ; -- 4c                                                     LDA BUFFER.sub.-- REGISTER,X                                                                    ; -- 5c                                                     STA DATABUS       ; store the byte in port2 -- 5c                             CLB SHIFT.sub.-- REG,CTLBUS3                                                                    ; Latch the voice data into the                                                ASIC -- 5c                                                 SEB SHIFT.sub.-- REG,CTLBUS3                                                                    ; . . . -- 5c                                               INC BR.sub.-- TAIL                                                                              ; -- 2c                                                     ;-------------------------------------------------------------------------    -----------------                                                             LDA PORT8         ; -- 4c                                                     LDX BR2.sub.-- HEAD                                                                             ; -- 4c                                                     STA BUFFER.sub.-- REGISTER2,X                                                                   ; -- 5c                                                     INC BR2.sub.-- HEAD                                                                             ; -- 5c                                                     DEC RX.sub.-- COUNT                                                                           ;****                                                         BEQ SEND.sub.-- BYTE                                                                          ;****                                                         PLA               ; restore register -- 4c                                    TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     RTI               ; return -- 6c --> 83c to get                                                 ; here(including . . . 32.37us                              SEND.sub.-- BYTE:                                                                             ;****                                                         LDA #8          ;****                                                         STA RX.sub.-- COUNT                                                                           ;****                                                         STA TX.sub.-- COUNT                                                                           ;****                                                         LDM #S24,SIO1TXB                                                                              ;****                                                         PLA             ;****  ; restore register -- 4c                               TAX             ;****  ; -- 2c                                                PLA             ;****  ; -- 4c                                                RTI             ;****  ; return -- 6c --> 83c to get                                                  here(includ                                           ;************************************************************                 ;                                                                             ;   TXINT -    TX INTERRUPT ROUTINE - SLAVE                                   ;                                                                             ;                                                                             ;   CALL WITH:                                                                ;                                                                             ;   RETURNS:   nothing                                                        ;                                                                             ;   CHANGES:   A REGISTER (accumulator), X                                    ;                                                                             ;************************************************************                 .PUB TXINT                                                                    TXINT:                                                                        DEC TX.sub.-- COUNT                                                           BEQ TX.sub.-- EXIT                                                            PHA                                                                           TXA                                                                           PHA                                                                           LDX BR2.sub.-- TAIL                                                           LDA BUFFER.sub.-- REGISTER2,X                                                 STA SIO1TXB                                                                   INC BR2.sub.-- TAIL                                                                             ; -- 5c |                                          PLA               ; -- 4c |                                          TAX               ; -- 2c |                                          PLA               ; -- 4c |                                          ----> 10.5us      ; -- 6c |                                          TX.sub.-- EXIT:                                                               LDM #24,PRESCY    ; set TimerY to begin listening                                                in 75us                                                    LDM #00,TIMY      ;                                                           CLB 5,IRR1        ; clear pending TimerY interrupts                           SEB 5,IRC1        ; enable TimerY interrupts                                  CLB 7,TIMXY       ; start TimerY                                              NOP                                                                           NOP                                                                           NOP                                                                           NOP                                                                           NOP                                                                           TX.sub.-- WAIT:                                                               BBC 2, $19, TX.sub.-- WAIT                                                                      ; wait for shift to complete                                SEB IAR,PORT5     ; turn off FSK generator                                    RTI               ; -- 6c                                                     ;************************************************************                 ;                                                                             ;   TIMERYINT: -                                                                             Int. routine to service the rxint timeout                      ;                                                                             ;   CALL WITH: nothing                                                        ;                                                                             ;   RETURNS:   nothing                                                        ;                                                                             ;   CHANGES:   Acc, X, Y                                                      ;                                                                             ;************************************************************                 .PUB TIMERYINT                                                                TIMERYINT:                                                                    SEB 7,TIMXY       ; stop TimerY                                               CLB 2,IRR1        ; clear pending RX interrupts                               SEB SIO1RXEN, SIO1CNTL                                                                          ; enable serial 1 RX -- 5c                                  SEB LED1,PORT5    ; -- 5c                                                     RTI                                                                           ;************************************************************                 ;*                                                                            ;*  TIMERXINT  begins the slave serial transmission                           ;*                                                                            ;*  INPUT:     nothing                                                        ;*                                                                            ;*  RETURNS:                                                                  ;*                                                                            ;*  CHANGES:                                                                  ;*                                                                            ;*  NOTE:                                                                     ;************************************************************                 .PUB TIMERXINT                                                                TIMERXINT:                                                                    SEB 3,TIMXY       ; stop the timer -- 5c                                      PHA               ; -- 3c                                                     TXA               ; -- 2c                                                     PHA               ; -- 3c                                                     LDX BR2.sub.-- TAIL                                                                             ; -- 4c                                                     LDA BUFFER.sub.-- REGISTER2,X                                                                   ; -- 5c get next byte                                       STA SIO1TXB       ; -- 4c send next byte                                      INC BR2.sub.-- TAIL                                                                             ; -- 4c point to next byte to send                          PLA               ; -- 4c                                                     TAX               ; -- 2c                                                     PLA               ; -- 4c                                                     RTI               ; -- 6c                                                     ;************************************************************                 ;                                                                             ;   TIMERYINT: -                                                                             Int. routine to service the rxint timeout                      ;                                                                             ;   CALL WITH: nothing                                                        ;                                                                             ;   RETURNS:   nothing                                                        ;                                                                             ;   CHANGES:   Acc, X, Y                                                      ;                                                                             ;************************************************************                 .PUB TIMERYINT                                                                TIMERYINT;                                                                    SEB 7,TIMXY       ; stop TimerY                                               CLB 2,IRR1        ; clear pending RX interrupts                               SEB SIO1RXEN, SIO1CNTL                                                                          ; enable serial 1 RX -- 5c                                  SEB LED1,PORT5    ; -- 5c                                                     RTI                                                                           Slave support code -----------------------------------                             SEI                                                                      .PUB CRAPLABEL                                                                CRAPLABEL:                                                                    LDM #INPUT, PORT8DIR                                                                            ; set port8 to input                                        CLB 2,PORT4DIR    ; set pin 2 of port4 to an input                            LDA #0                                                                        STA IRC1          ; disable all interrupts                                    STA IRC2          ; . . .                                                     SEB IAR,PORT5     ; release FSK generator -- SLAVE                            LDA #$88          ; setup & inhibit timers X & Y                              STA TIMXY                                                                     CLB 0, $3C        ; clear pending INT0 interrupts                             SEB 0, $3A        ; select rising edge triggered                              SEB 0, IRC1       ; enable INT0 -- SLAVE                                      CLB 4, IRR1       ; clear pending TIMERX interrupt                            SEB 4, IRC1       ; enable TIMERX interrupt                                   SEB 3,TIMXY       ; disable TIMERX                                            JSR INITTRX       ; INITIALIZE TX-RX-SIO1 -                                                      TEMP                                                       LDM #8,RX.sub.-- COUNT                                                                          ; Initialize RX.sub.-- COUNT                                ______________________________________                                    

What is claimed is:
 1. In a telecommunications system having a pluralityof subscriber stations interconnected along a communications path,apparatus disposed at individual ones of the stations for transceivingan input digital bit stream converted into a corresponding digitallymodulated output signal, comprising in combination:an encoder having acontrol terminal, a first input terminal to which a source of digitaldata is connected and a first output terminal connectable to the pathfor communicating an encoder generated digitally modulated output signalto a remote station on the path; a demodulator having a second inputterminal to which a received digitally modulated signal is selectivelycoupled from the path and a second output terminal at which ademodulated signal comprises a bit stream of digital data; a directionalswitch connected to the control terminal for selectively enabling anddisabling the encoder and switching a connection to the path fromrespective ones of the first output terminal and the second inputterminal in response to control signals input to the switch; means forresolving contention between call initiating stations and identifying astation seizing the path as a master station; and control meansconnected to the switch for enabling a switched connection from thefirst output terminal to the path and enabling the encoder of the masterstation with a start-up time delay prior to transferring digital datathereto.
 2. Apparatus as claimed in claim 1, wherein the control meansincludes means for identifying the contentious station not seizing thepath as a slave station, and in response thereto initially disabling theencoder thereof and switching the path connection from the first outputterminal to the second input terminal of the slave station forinitiating data reception.
 3. Apparatus as claimed in claim 2, whereinthe control means further includes means for disabling the encoder ofthe master station at the end of data transmission, disconnecting thefirst output terminal thereof from the path and connecting the path tothe second input terminal of the master station with a firstpredetermined time delay sufficient for the slave station to engage thepath for a response, thereby maintaining the path in a seized state andretaining a low noise level thereon when monitoring a reply at themaster station.
 4. Apparatus as claimed in claim 3, wherein the controlmeans further includes means for disabling the encoder of the slavestation at the end of data transmission, disconnecting the first outputterminal thereof from the path and connecting the path to the secondinput terminal of the slave station with a second predetermined timedelay sufficient for the master station to engage the path for aresponse, thereby maintaining the path in a seized state and retaining alow noise level thereon when monitoring a reply at the slave station. 5.Apparatus as claimed in claim 4, wherein the control means furtherincludes timing means for disabling the encoder and demodulator of themaster station after the last bit of digital data has been shifted outof the encoder and transmitted, the encoder of the master station beingdisabled following a third predetermined delay to maintain integrity ofthe path while the slave station processes the last byte received. 6.Apparatus as claimed in claim 5, further comprising buffer meansdisposed in a signal path intermediate the source of digital data andthe first input terminal for temporarily storing digital data destinedthereto.
 7. Apparatus as claimed in claim 6, further comprising driveramplifier means connected intermediate the first output terminal and asignal input of the switch for boosting the digitally modulated signalto a predetermined level.
 8. Apparatus as claimed in claim 7, furthercomprising second amplifier means connected intermediate the switch andthe second input terminal for converting a received differentialdigitally modulated signal into a common mode digitally modulatedsignal.
 9. Apparatus as claimed in claim 8, wherein the encoder isadapted to generate a digitally modulated carrier signal at a carrierfrequency in the range of from 5 to 10 MHz and the bit stream of digitaldata has a maximum bit rate of at least 500 Kbps.
 10. Apparatus asclaimed in claim 9, wherein the control means comprises a microprocessorhaving memory means storing timing and decision making operating codesfor selectively enabling the apparatus of a station in one of, a masterand slave mode of operation.
 11. Apparatus as claimed in claim 10,wherein the communications path comprises a telephone line. 12.Apparatus as claimed in claim 11, further comprising a transformer forcoupling the line to individual ones of the first output terminal andthe second input terminal through respective switched connections. 13.Apparatus as claimed in claim 12, wherein the start-up time delay is atleast 10 microseconds.
 14. Apparatus as claimed in claim 13, wherein thefirst predetermined time delay is substantially 68.25 microseconds. 15.Apparatus as claimed in claim 14, wherein the second predetermined timedelay is substantially 75 microseconds.
 16. Apparatus as claimed inclaim 15, wherein the third predetermined time delay is substantially 25microseconds.